﻿using Glorysoft.Auto.Xfw;
using Serilog.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Glorysoft.EAP.Core
{
    //public  class ReflectionHelper
    //{
    //    protected readonly XfwContext Context = XfwContext.Current;
    //    protected static Logger CimLogger = XfwContext.LogManager.EapLogger;
    //    public static T Service<T>()
    //    {
    //        try
    //        {
    //            return typeof(ReflectionHelper).Assembly.GetTypes() //获取当前类库下所有类型
    //       .Where(t => typeof(T).IsAssignableFrom(t)) //获取间接或直接继承t的所有类型
    //       .Where(t => !t.IsAbstract && t.IsClass) //获取非抽象类 排除接口继承
    //       .Select(t => (T)Activator.CreateInstance(t)).FirstOrDefault(); //创造实例，并返回结果
             
    //        }
    //        catch (Exception ex)
    //        {
    //            CimLogger.Error(ex, $" ReflectionHelper.Service<T>() Execute Error.T：<{typeof(T).Name}>");
    //            return default;
    //        }
    //    }

    //}
}
